package cn.cl.common.valid;

import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import java.util.HashSet;
import java.util.Set;

/**
 * 标题：自定义的校验器
 * 作者：何处是归程
 * 时间：2020/5/15 - 10:09
 */
public class ListValueConstrainCalidator implements ConstraintValidator<ListValue, Integer> {
	private Set<Integer> set = new HashSet<>();

	/**
	 * 初始化方法
	 */
	@Override
	public void initialize(ListValue constraintAnnotation) {
		int[] vals = constraintAnnotation.vals();
		if (vals != null && vals.length > 0) {
			for (int val : vals) {
				set.add(val);
			}
		}
	}

	/**
	 * 判断是否校验成功
	 */
	@Override
	public boolean isValid(Integer value, ConstraintValidatorContext context) {
		return (set.contains(value));
	}
}
